$(function() {
	reloadTree('1');
	reloadDeptTree($('#user_code').val());
	$("body").bind("mousedown", function(event){
		if (!(event.target.id == "menuBtn" || event.target.id == "DropdownMenuBackground" || $(event.target).parents("#DropdownMenuBackground").length>0)) {
			hideMenu();
		}
	});
	
	//jQuery 表单验证
	$('#userForm').validate();

	var edit_flag=$("#edit_flag").val();
	if(edit_flag!='true') {
		//用户名输入框失去焦点时调用
		$('#user_code').blur(function(){
			if(validateForm('user_code')) {
				var user_code=$("#user_code").val();
				checkUserCode(user_code, edit_flag);
			}
		});
	}
	
	$('#fullName').blur(function(){
		validateForm('fullName');
	});
	
	$('#nickName').blur(function(){
		validateForm('nickName');
	});
	
	$('#department_code').blur(function(){
		validateForm('department_code');
	});
	
	$('#contact_phone').blur(function(){
		validateForm('contact_phone');
	});
	
	$('#ect_person').blur(function(){
		validateForm('ect_person');
	});
	
	$('#ect_phone').blur(function(){
		validateForm('ect_phone');
	});
	
	//提交表单
	$('#saveUserButt').click(function() {
		if(validateForm()) {
			var scopeString=getScopeCode();
			if(scopeString) {
				$("#scopeString").attr("value",scopeString);
			}
			$('#userForm').submit();
		}
	});
});

function validateForm(id) {
	var result=false;
	// 验证用户编码
	if(!id || id=='user_code') {
		var value=$('#user_code').val();
		if(!value) {
			$('#user_code_msg').html('用户编码不允许为空');
			result = false;
		}else if(value.maxLength(32)) {
			$('#user_code_msg').html('用户编码长度不允许超过32个字符（一个汉字3个字符）');
			result = false;
		}else if(!regex_code_char.test(value)) {
			$('#user_code_msg').html('用户编码由数字、下划线以及英文字母组成');
			result = false;
		}else{
			$('#user_code_msg').html('');
		}
	}
	
	// 验证用户姓名
	if(!id || id=='fullName') {
		var value=$('#fullName').val();
		if(!value){
			$('#fullName_msg').html('姓名不允许为空');
			result = false;
		}else if(value.maxLength(16)) {
			$('#fullName_msg').html('姓名长度不允许超过32个字符（一个汉字3个字符）');
			result = false;
		}else if(!regex_special_char.test(value)) {
			$('#fullName_msg').html('姓名不允许包含特殊字符：*.&/\\\'\"|,<>');
			result = false;
		}else{
			$('#fullName_msg').html('');
		}
	}
	
	// 验证昵称
	if(!id || id=='nickName') {
		var value=$('#nickName').val();
		if(value.maxLength(16)) {
			$('#nickName_msg').html('昵称长度不允许超过32个字符（一个汉字3个字符）');
			result = false;
		}else if(!regex_special_char.test(value)) {
			$('#nickName_msg').html('昵称不允许包含特殊字符：*.&/\\\'\"|,<>');
			result = false;
		}else{
			$('#nickName_msg').html('');
		}
	}
	
	// 验证所属部门
	if(!id || id=='department_code') {
		var value=$('#department_code').val();
		if(!value) {
			$('#department_code_msg').html('所属部门不允许为空');
			result = false;
		}else{
			$('#department_code_msg').html('');
		}
	}
	
	// 验证联系电话
	if(!id || id=='contact_phone') {
		var value=$('#contact_phone').val();
		if(value&&!regex_special_char.test(value)) {
			$('#contact_phone_msg').html('联系电话不允许包含特殊字符：*.&/\\\'\"|,<>');
			result = false;
		}else if(value.maxLength(32)) {
			$('#contact_phone_msg').html('联系电话长度不允许超过32个字符（一个汉字3个字符）');
			result = false;
		}else{
			$('#contact_phone_msg').html('');
		}
	}
	
	// 验证紧急联系人
	if(!id || id=='ect_person') {
		var value=$('#ect_person').val();
		if(value&&!regex_special_char.test(value)) {
			$('#ect_person_msg').html('紧急联系人不允许包含特殊字符：*.&/\\\'\"|,<>');
			result = false;
		}else if(value.maxLength(32)) {
			$('#ect_person_msg').html('紧急联系人长度不允许超过32个字符（一个汉字3个字符）');
			result = false;
		}else{
			$('#ect_person_msg').html('');
		}
	}
	
	// 验证紧急联系电
	if(!id || id=='ect_phone') {
		var value=$('#ect_phone').val();
		if(value&&!regex_special_char.test(value)) {
			$('#ect_phone_msg').html('紧急联系电不允许包含特殊字符：*.&/\\\'\"|,<>');
			result = false;
		}else if(value.maxLength(32)) {
			$('#ect_phone_msg').html('紧急联系电长度不允许超过32个字符（一个汉字3个字符）');
			result = false;
		}else{
			$('#ect_phone_msg').html('');
		}
	}
	
	return result;
}

//校验用户名
function checkUserCode(user_code, edit_flag) {
	$.ajax({   
		url: 'checkUser.action',   
		type:'POST',   
		dataType: 'json',   
		data:"user.user_code="+user_code+"&edit="+edit_flag,   
		beforeSend:function(xmlhttprequest){
		},
		success:function(data){
			var isExists = data.isExists;
			if(isExists == true || isExists=='true') {
				$('#user_code_msg').html("用户编码已存在，请重新输入！");
				$('#user_code').focus();
			}
			else {
				$('#user_code_msg').html("");
			}
		},
		error:function(){
			//alert("exect checkUserName()出错了！");
		}
	});
}

function getScopeCode() {
	var arrays = new Array();
	var tmp = zTree_dept.getCheckedNodes();
	if (tmp.length>0) {
		for (var i=0; i<tmp.length; i++) {
			var exists = false;
			for(var j=0; j<tmp.length; j++) {
				if(tmp[i].parent_id==tmp[j].id && tmp[j].check_True_Full==true) {
					exists = true;
				}
			}
			
			if(!exists && tmp[i].check_True_Full==true) {
				arrays[arrays.length]=tmp[i];
			}
		}
	}
	
	var value = '';
	if (arrays.length > 0) {
		for (var i = 0; i < arrays.length; i++) {
			value += ('{id:\"' + arrays[i].id + '\",type:\"'+arrays[i].type+'\"}');
			if (i < arrays.length - 1) {
				value += ',';
			}
		}
	}
	return '['+value+']';
}

/**
 * 加载部门列表树时所必须使用的方法
 * @param event
 * @param treeId
 * @param treeNode
 */
function zTreeOnClick(event, treeId, treeNode) {
	if (treeNode) {
		$("#department_code").attr("value", treeNode.department_code);
		$("#department_name").attr("value", treeNode.department_name);
		hideMenu();
	}
}
